import Vue from 'vue'
import App from './App.vue'
import router from './router'

import axios from 'axios' // 导入 axios
import echarts from 'echarts' // 导入 echarts
import NProgress from 'nprogress' // 导入 nprogress 包对应的 js 和 css

// 导入 element-ui element-ui 相关样式
import './plugins/element.js'
import 'element-ui/lib/theme-chalk/index.css'

// 导入字体图标
import './assets/fonts/iconfont.css'
import './assets/font/iconfont.css'

// 导入富文本编辑器 富文本编辑器的样式
import VueQuillEditor from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

import './assets/css/global.css' // 导入全局样式

// 将富文本编辑器注册为全局可用的组件
Vue.use(VueQuillEditor)

// 服务器端路径
axios.defaults.baseURL = 'http://localhost:82'
// 允许携带信息
axios.withCredentials = true

// 请求拦截
axios.interceptors.request.use(
  config => {
    NProgress.start()
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

// 响应拦截
axios.interceptors.response.use(
  response => {
    NProgress.done()
    NProgress.remove()
    return response
  },
  error => {
    return Promise.reject(error)
  }
)

// 将 axios 绑定在 vue 的原型对象上
Vue.prototype.$axios = axios
Vue.prototype.$echarts = echarts

Vue.config.productionTip = false

// 将时间毫秒值转换成指定的日期格式
Vue.filter('dateFormat', originVal => {
  const dt = new Date(originVal)

  const y = dt.getFullYear()
  const m = (dt.getMonth() + 1 + '').padStart(2, '0')
  const d = (dt.getDate() + '').padStart(2, '0')

  const hh = (dt.getHours() + '').padStart(2, '0')
  const mm = (dt.getMinutes() + '').padStart(2, '0')
  const ss = (dt.getSeconds() + '').padStart(2, '0')

  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
